import tkinter as tk  
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg  
from matplotlib.figure import Figure  
  
def on_configure(event):  
    # 当窗口大小变化时，调整图形大小  
    canvas.draw()  
  
root = tk.Tk()  
root.title("Matplotlib in Tkinter")  
  
# 创建一个新的图形  
fig = Figure(figsize=(5, 4), dpi=100)  # 初始大小可以根据需要调整  
ax = fig.add_subplot(111)  
ax.plot([1, 2, 3, 4, 5, 6, 7, 8], [1, 4, 2, 7, 4, 5, 6, 3])  
  
# 将图形放入 Tkinter 的 canvas 中  
canvas = FigureCanvasTkAgg(fig, master=root)  
widget = canvas.get_tk_widget()  
widget.pack(fill="both", expand=True)  # 确保 canvas 填满整个窗口  
  
# 绑定窗口大小变化事件  
root.bind("<Configure>", on_configure)  
  
# 运行 Tkinter 的主事件循环  
root.mainloop()